home *** CD-ROM | disk | FTP | other *** search
- ******************************************************************************
- * LOCK & KEY *
- * by Jesse Devine *
- * (C) 1988 Antic Publishing Inc. *
- * *
- * Written 5/30/87 - 6/3/87 using A68, a public domain, and extremely *
- * cantankerous assembler. *
- * *
- ******************************************************************************
- ABS BRA SHRI
- DC.L $1B450D0A
- DC.B 'Sorry, Bud. Youre not going to find the password this way.'
- DC.W $0D0A
- DC.B 'Why dont you just go about your business and leave this'
- DC.W $0D0A
- DC.B 'persons files alone. Keep your nose where it belongs.'
- DC.L $0D0A0D0A
- DC.L $0D0A0D0A
- DC.L $0D0AFFFF
- ****************************************
- * ADJUST PROGRAM MEMORY USAGE *
- ****************************************
- SHRI MOVE.L A7,A5 STORE USER STACK
- LEA USSTK,A7 GET ADDRESS OF NEW STACK
- MOVE.L 4(A5),A5 GET BASE PAGE ADDRESS
- MOVE.L $C(A5),D0 GET LENGTH OF PROGRAM AREA
- ADD.L $14(A5),D0 ADD IN LENGTH OF INITIALIZED DATA
- ADD.L $1C(A5),D0 ADD IN LENGTH OF UNINITIALIZED DATA
- ADD.L #$100,D0 ADD IN 256 BYTES BASE PAGE
- MOVE.L D0,-(A7) MOVE RESERVE LENGTH ONTO STACK
- MOVE.L A5,-(A7) MOVE RESERVE ADDRESS ONTO STACK
- MOVE.W #0,-(A7) DUMMY WORD VALUE
- MOVE.W #$4A,-(A7) SETBLOCK FUNCTION NUMBER
- TRAP #1 CALL GEMDOS
- ADD.L #12,A7 FIX THE STACK
- TST.L D0 CHECK FOR ERROR
- BNE ERROR IF SO, INDICATE GENERAL ERROR
- ****************************************
- * A L L O C A T E M E M O R Y *
- ****************************************
- MOVE.L #$A00,-(A7) ALLOCATE $A00 BYTES
- MOVE.W #$48,-(A7) MALLOC FUNCTION NUMBER
- TRAP #1 CALL GEMDOS
- ADDQ.L #6,A7 FIX THE STACK
- CMPI.L #0,D0 CHECK FOR RETURN ERROR
- BEQ ERROR IF SO, PRINT ERROR MESSAGE
- MOVE.L D0,BUFF
- ****************************************
- * U N S C R A M B L E P A S S W O R D *
- ****************************************
- LEA PASS,A3 GET ADDRESS OF SCRAMBLED PASSWORD
- LP4 CMPI.B #0,(A3) CHECK FOR END OF PASSWORD
- BEQ DONE1 IF END, GO ON WITH OTHER STUFF
- ADDI.B #1,(A3) SHIFT PASSWORD BACK INTO PLACE,
- ADDI.L #1,A3 INCREMENT PASSWORD POSITION,
- BRA LP4 AND CONTINUE WITH LOOP
- ****************************************
- * U N S C R A M B L E F O L D E R *
- ****************************************
- DONE1 LEA FOLD,A3 GET ADDRESS OF SCRAMBLED FOLDER
- LP5 CMPI.B #0,(A3) CHECK FOR END OF FOLDER NAME
- BEQ DONE2 IF END, GO ON WITH OTHER STUFF
- ADDI.B #1,(A3) SHIFT FOLDER NAME BACK INTO PLACE,
- ADDI.L #1,A3 INCREMENT FOLDER POSITION,
- BRA LP5 AND CONTINUE WITH LOOP
- ****************************************
- * D E T E R M I N E D R I V E # *
- ****************************************
- DONE2 MOVE.W #$19,-(A7) CURRENT DRIVE FUNCTION #
- TRAP #1 CALL GEMDOS
- ADDQ.L #2,A7 FIX THE STACK
- MOVE.W D0,DRIVE
- ****************************************
- * I N I T I Θ*
- *